Case Study:
Presentation Software
Traditional Applications
Microsoft PowerPoint and Aldus Persuasion are examples of popular
presentation graphics software. They are each large, complex monolithic
applications. The Persuasion 3.0 application, for example, is over 2 MB
on disk, and contains editors or player for outlining, text. 2D graphics,
QuickTime movies, etc. To keep up with new technologies, the programmers
would need to add support for QuickTime VR, QuickDraw 3D, etc.
The Lister Container Part Editor
This is an OpenDoc part created in a three-day kitchen in Stockholm
by Nils Kröger of med-i-bit in Hamburg, Germany. He used ODF 1.0 d11,
and combined the code from two standard samples: ODFTable and ODFEmbed.
The part consists of two related container frames. The first is a table
container frame into which other editors and viewers are dropped. Each slide
has its own editor. When the user chooses "Play" from the "Lister"menu, a second container frame is opened, and one embedded part is displayed
at a time. The user can advance to the next slide by clicking in the outer
border, or by pressing the right or left arrow keys.
Why is this cool? The benefit to the programmer is that you do not need
to write editors for the contents of the slides. You can use KickStart editors
for simple text, graphics, movies, etc. The benefits to the user include
the fact that the user can add new data types by simply dropping in new
documents, and the slides are live, even while they are being shown.
/OpenDoc/Introduction to Component SW/Images/CaseStudies/Lister1.gif)
Technologies Used: Embedding
This simple example only uses support for embedding.
It does not require linking, scripting, extensions, and so forth.
Source Code
The code was based on ODF version d11, which is now obsolete.
You can look at the old CodeWarrior project
and source code files to see the details.
/OpenDoc/Introduction to Component SW/Images/Buttons/Overview.gif)
/OpenDoc/Introduction to Component SW/Images/Buttons/HandsOn.gif)
/OpenDoc/Introduction to Component SW/Images/Buttons/Technologies.gif)
/OpenDoc/Introduction to Component SW/Images/Buttons/Components.gif)
/OpenDoc/Introduction to Component SW/Images/Buttons/Tools.gif)
/OpenDoc/Introduction to Component SW/Images/Buttons/CaseStudies.gif)
/OpenDoc/Introduction to Component SW/Images/Buttons/Resources.gif)
/OpenDoc/Introduction to Component SW/Images/Buttons/Glossary.gif)
Home